Type Inference in Mixed Compiled / Scripting Environments
نویسنده
چکیده
Programs written in statically-typed languages are commonly extended with scripting engines that manipulate objects in the compiled layer. These scripting environments extend the capabilities of the program, at the cost of additional errors that would be caught by compile-time type checking. This paper describes a system for using type information from the compiled, statically-typed layer to perform type inference and checking on scripting code. A proof-of-concept of this system is shown in flint, a type-checking tool for the language F-Script.
منابع مشابه
An Embedded Error Recovery and Debugging Mechanism for Scripting Language Extensions
In recent years, scripting languages such as Perl, Python, and Tcl have become popular development tools for the creation of sophisticated application software. One of the most useful features of these languages is their ability to easily interact with compiled languages such as C and C++. Although this mixed language approach has many benefits, one of the greatest drawbacks is the complexity o...
متن کاملType Systems of Scripting Languages
Type systems play an important role in the design of programming languages, they prevent programs from having non-correct behavior. Typically, type systems are expressed in two ways, type-checking and type inference. The type information presented on local variables and method arguments makes the difference in choosing one technique rather than the other. Type checking is a derivation type infe...
متن کاملSynthetic Programming: User-directed Run-time Code Synthesis for High Performance Computing
Scripting and interpreted languages are important tools for software engineering and are often used in place of compiled languages for application development. While they enable a high level of developer productivity, their run-time environments limit the overall performance attainable with any given application. To develop performance-critical applications, developers continue to rely on compi...
متن کاملType Inference for Scripting language with Implicit Extension
This paper presents a constraint-based type inference algorithm for a subset of the JavaScript language. The goal is to prevent accessing undefined members of objects. We define a type system that allows explicit extension of objects through add operation and implicit extension through method calls. We prove that a program is typable if and only if we can infer its types. We also extend the typ...
متن کاملScientific programming with Java classes supported with a scripting interpreter
The jLab environment provides a Matlab/Scilab like scripting language that is executed by an interpreter implemented in the Java language. This language supports all the basic programming constructs and an extensive set of built in mathematical routines that cover all the basic numerical analysis tasks. Moreover, the toolboxes of jLab can be easily implemented in Java and the corresponding clas...
متن کامل